package com.zw.pdm.entity.com;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zw.pdm.base.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.*;
import java.util.Date;

/**
 * @Description: 科室任务信息表（设计院和工艺可通用）
 *
 * @Author: wsg
 * @Date: 2020/10/13 19:29
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Entity
@Table(name = "dsn_task_common")
public class DsnTaskCommon extends BaseModel {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /** 科室外键 */
    private Integer deptId;

    /** 项目外键 */
    private Integer proId;

    /** 项目编号 */
    private String proCode;

    /** 项目名称 */
    private String proName;

    /** 部分ID */
    private Integer proPartId;

    /** 部分 */
    private String proPart;

    /** 任务名称外键 */
    @Column(nullable = false, columnDefinition = "tinyint")
    private Integer comTaskNameId;

    /** 任务名称 */
    private String comTaskName;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    /** 任务执行状态（1=未开始 2=执行中 3=已完成 4=不需要） */
    @Column(nullable = false, columnDefinition = "tinyint")
    private Integer status = 1;

    /** 删除状态 0：默认， 1：删除 */
    @Column(nullable = false, columnDefinition = "tinyint")
    private Integer isDel = 0;

    /** 备注 */
    @Column(columnDefinition = "nvarchar(1000)")
    private String remark;

    /** 工艺任务明细表ID */
    private Integer craTaskDetailId;

    /** 维护人员 */
    private String updateUser;

    /** 维护时间 */
    private Date updateTime;

    /** 专业ID */
    private Integer specialId;

    /** 专业 */
    private String special;

    /** 部门 */
    private String deptName;

    /** 完成状态 */
    @Transient
    private Integer compStatus;

}